home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / game / role / ldmud-3.2-bin.lha / mud / INSTALL < prev    next >
Text File  |  2001-08-06  |  12KB  |  294 lines

  1. Topics covered:
  2.  
  3.   - Unix or Unix-like systems, with additional details for FreeBSD, AIX 3.4,
  4.       and DEC Ultrix.
  5.   - IPv 6
  6.   - mySQL
  7.   - BeOS
  8.   - Window 95/98/NT
  9.   - OS/2
  10.  
  11.  
  12. Unix or Unix-like system
  13. ------------------------
  14.  
  15.   The driver uses a standard autoconfiguration system which on most
  16.   systems does all the work for you (for exceptions see below).
  17.   To prepare the compilation, execute the 'configure' script from
  18.   within the src/ directory.
  19.  
  20.   configure checks for a number of site specific settings and uses this
  21.   information to create the files machine.h (from machine.h.in), Makefile
  22.   (from Makefile.in) and config.h (from config.h.in). We'll come back to
  23.   config.h below.
  24.  
  25.   configure takes a lot of arguments (--help will tell you everything),
  26.   but the most important are these:
  27.  
  28.     --prefix=PREFIX:  the base directory for the mud installation,
  29.                         defaults to /usr/local/mud .
  30.     --bindir=DIR:     the directory to install the executables in,
  31.                         defaults to ${PREFIX}/bin .
  32.     --libdir=DIR:     the directory where the mudlib is found,
  33.                         defaults to ${PREFIX}/lib .
  34.     --libexecdir=DIR: the directory where the programs for the ERQ are found,
  35.                         defaults to ${PREFIX}/libexec .
  36.  
  37.   These settings are written into the Makefile and compiled into the driver,
  38.   just the mudlib directory setting can be changed with a commandline
  39.   argument.
  40.  
  41.   A lot of the drivers parameters can be tweaked for better performance; these
  42.   parameters are defined in config.h . This file too is created by configure,
  43.   which provides sensible defaults for all parameters for which no explicite
  44.   setting is provided. To tweak a setting yourself, pass the argument
  45.   '--enable-<option>=yes|no' resp. '--with-<option>=<value>' to configure on
  46.   the commandline.
  47.  
  48.   Alternatively, the indivial specifications can be collected in a settings
  49.   file, which is stored in the directory src/settings/. To use the
  50.   setting file <osb>, give '--with-<osb>' as argument to configure. The
  51.   file src/settings/default documents the available settings. The setting
  52.   files are self-executing: './settings/<foo> [<extra-configure-args>]' will
  53.   start configure with the proper commandline arguments.
  54.  
  55.  
  56.   The following environment variables can be used to tweak the behaviour
  57.   of the configure script:
  58.     CC:           the name of the C compiler
  59.     CFLAGS:       compiler flags to be used during the configure script
  60.     EXTRA_CFLAGS: compiler flags to be used when compiling the game driver
  61.     LDFLAGS:      linker flags to be used by configure and for linking the
  62.                   game driver.
  63.  
  64.  
  65.   After configuration is finished, you may want to modify the Makefile
  66.   to fine tune those parameters which are not covered by the configuration.
  67.  
  68.   The compilation is done using make. Following targets are implemented:
  69.  
  70.     <none>:        compile the driver
  71.     install:       compile the driver and install it in ${bindir}
  72.     utils:         compile the utilities, especially the ERQ demon
  73.     install-utils: compile and install the utilities in ${bindir}
  74.  
  75.   To actually run a mud, you need a mudlib. The driver comes with the
  76.   source of the old 2.4.5 mudlib in mud/lp-245/, support for other mudlibs
  77.   is also found in mud/. Copy all mudlib files into your 'lib' directory
  78.   and make sure that the files from mudlib/sys/ all go into your lib's
  79.   include directory (usually 'sys/').
  80.  
  81.   To test the driver, start it with 'driver &'. If you see the message
  82.   'Setting up ipc', the driver is up and accepting connections. Test
  83.   it with 'telnet localhost 4242'.
  84.  
  85.   FreeBSD:
  86.     When using gcc, it can happen that the compiler
  87.     aborts with signal 10 or 11. The reasons are unknown, but you can
  88.     restart the compilation process by typing "make" again (and again...).
  89.  
  90.   AIX 3.4:
  91.     The native compiler comes in several forms, of which only the
  92.     basic form 'xlc' works with the configuration script.
  93.     Start the script as:
  94.  
  95.       CC=xlc ./configure ...
  96.  
  97.   DEC Ultrix:
  98.     Depending on the system configuration you might be unable to
  99.     compile 'interpret.c' with any kind of optimization at all.
  100.     The typical symptom is a failure during the compilation with
  101.     "Error code 1". When that happens, do the following steps:
  102.  
  103.       - Make as usual until the "interpret" compilation
  104.          fails.  The symptom is "Error code 1".
  105.  
  106.       - Edit the makefile.  Uncomment the compilation
  107.          line for debugging, and comment the compilation
  108.          line containing the optimization switches and
  109.          options.
  110.  
  111.       - Start the make again.  After the "interpret"
  112.          compilation completes, control-C out of the
  113.          compilation.
  114.  
  115.       - Edit the makefile again.  Re-comment the line
  116.          for debugging, and uncomment the line with
  117.          the optimization switches and options.
  118.  
  119.       - Start the make again.  This time it will
  120.          complete as expected.
  121.  
  122.  
  123. IPv6
  124. ----
  125.   If your machine supports IPv6, the driver can be configured to use it: give
  126.   '--enable-use-ipv6=yes' as argument to the configure script.
  127.   
  128.   Beware: the driver support is rudimentary, experimental, and may cease to
  129.   function on the next full moon. Additional work is necessary to really
  130.   change _all_ address-related functions in driver and mudlibs.
  131.  
  132.   IPv6 support was implemented by Uwe <mai94cch@studserv.uni-leipzig.de>.
  133.  
  134.   In order to test IPv6 under Linux you need a 2.2.x kernel (preferably 2.2.10
  135.   or better) and the inet6 apps. If you use glibc 2.0, you need version 0.35
  136.   of the inet6 apps, or for glibc 2.1 you need version 0.36. The apps should
  137.   installed into /usr/inet6.
  138.  
  139.   The apps are available on ftp.inner.net or on its mirrors, e.g.
  140.  
  141.    <URL:ftp://6bone.informatik.uni-leipzig.de/pub/ftp.inner.net/pub/ipv6/inet6-apps-0.35.tar.gz>
  142.  
  143.   resp.
  144.  
  145.    <URL:ftp://6bone.informatik.uni-leipzig.de/pub/ftp.inner.net/pub/ipv6/inet6-apps0.36.tar.gz>
  146.  
  147.   Furthermore you need a connection to the 6bone
  148.   (<URL:http://www.join.uni-muenster.de/>).
  149.  
  150.   Newer versions of AIX also come with IPv6 support.
  151.  
  152.  
  153. mySQL
  154. -----
  155.   If your machine has mySQL installed, the driver can be configured to use
  156.   it: give '--enable-use-mysql=yes' as argument to the configure script.
  157.  
  158.   Alternatively, if your mySQL uses an unusual include/library path,
  159.   the option can be given as '--enable-use-mysql=/unusual/path', which
  160.   will use the given path as search path for both include and library
  161.   files in addition to the normal system search paths. The include files will
  162.   be searched in <path>/include and <path>, the library files will be search
  163.   in <path>/lib/mysql, <path>/lib, and <path>, in this order.
  164.  
  165.   Before you compile the driver, you have to add the username and password
  166.   of the Mud user to the driver (if you haven't done so already, now would
  167.   be a good time to set up this user in the mySQL database).
  168.   Enter this username and password in the file pkg-mysql.c, function
  169.   mysql_real_connect(), and compile the driver (the username and
  170.   password are built into the driver for security reasons).
  171.   If you chose to not create either a username and/or a password,
  172.   leave the corresponding entry at 0.
  173.  
  174.   Use mysqladmin to create any databases you want to provide - the
  175.   names are later used in the efun db_connect() to connect to
  176.   the databases.
  177.  
  178.  
  179. BeOS
  180. ----
  181.   Under BeOS, the driver can be configured and compiled in two ways:
  182.  
  183.   1. Using the provided configuration files.
  184.  
  185.     Copy the files machine.h, config.h and Makefile from src/hosts/be/
  186.     to src/. You may have to edit config.h and Makefile if you have
  187.     to use a specific mudlib with exotic settings.
  188.  
  189.     Advantage of this method is that the Makefile allows cross-compilation
  190.     and covers Be specifics like file icon, type and version.
  191.  
  192.   2. Use the Unix configure mechanism.
  193.  
  194.     In general just follow the instructions given for Unix systems, but
  195.     be aware of the follwing:
  196.  
  197.      - If the configure script doesn't properly work, try starting it
  198.        with
  199.  
  200.        CC="$BE_C_COMPILER" EXTRA_CFLAGS="$BE_DEFAULT_C_FLAGS" ./configure
  201.  
  202.        or (especially on BeOS R4.5 on PPC) even
  203.  
  204.        CC=cc EXTRA_CFLAGS="$BE_DEFAULT_C_FLAGS" ./configure
  205.  
  206.      - the created executable will have neither icon nor type.
  207.      - cross compilation is not supported.
  208.      - the Makefile defaults to best optimization which needs a lot
  209.        of memory during compilation.
  210.  
  211.   If on driver start you get an error about an unknown hostname or
  212.   seems to hang, you're missing an /etc/hosts file:
  213.      - In the network preferences, select a name for you machine,
  214.        e.g. 'bebox'. The domain name field can be blank.
  215.      - Copy the /boot/beos/etc/hosts-sample file to /boot/beos/etc/hosts,
  216.        and edit it to contain at least the following lines:
  217.  
  218.          127.0.0.1  bebox.my-isp.com  bebox
  219.          127.1      bebox.my-isp.com  bebox
  220.  
  221.       (Note: in the file, every line has to start with the IP address -
  222.        no leading spaces are allowed).
  223.  
  224.   With the current networking implementation, the driver is unable
  225.   to start ERQs. In order to use ERQs, you have to start them manually.
  226.  
  227.   Other than this, the installation steps are the same as for Unix.
  228.  
  229.  
  230. Windows 95/98/NT
  231. ----------------
  232.  
  233.   To compile the gamedriver for Windows, you need the 'Cygwin' package,
  234.   which is a port of gcc, bash, and other GNU/Unix programs. Once it
  235.   is installed and running, the procedure is the same as under Unix.
  236.  
  237.   CygWin is available from <URL:http://www.cygwin.com/>.
  238.  
  239.   One common pitfall is if the installation does not create the '/bin'
  240.   directory in which the CygWin executables are expected. A typical
  241.   error message would be 'make: /bin/sh not found'.
  242.  
  243.   Solution 1: Create a directory 'bin' in your search path (e.g. c:\bin)
  244.     and copy all required executables (in this case 'sh.exe') into
  245.     that directory.
  246.  
  247.   Solution 2 (this can be done in a script): cd into the directory
  248.     where the executables are stored, e.g.
  249.     /compiler/Cygnus/B19/H-i386-cygwin32/bin . In this directory, give
  250.     the command 'mount $PWD /bin'.
  251.  
  252.   A driver compiled by David Gibbs (ishara@btinternet.com) is available
  253.   at <URL:http://www.einy.freeserve.co.uk/lpmud.index.html>.
  254.  
  255.   The following comments were provided by Robert Nurrie(?) who had
  256.   an misconfigured Cygnus installation (Summer 2000):
  257.  
  258.     "Make sure you've used the setup.exe you get when clicking the 'install
  259.      cygwin now' link in the upper right corner of their website, instead of
  260.      the setup.exe found on the ftp-site.
  261.    
  262.      Oh, and when you're given the choice of default text file type you
  263.      should of course chose Dos, as that seems to be the key."
  264.  
  265.   Brandon Mathis points out, "that to compile under Windows you have to
  266.   use 'tar -xvfz' and not WinZIP to extract the source".
  267.  
  268.  
  269. OS/2
  270. ----
  271.  
  272.   The OS/2 port uses the EMX (a gcc version) to compile the gamedriver.
  273.   To compile the driver, copy the machine.h and Makefile from the hosts/os2
  274.   directory into the top directory and make as under Unix. The Makefile
  275.   is configured to install the driver in /mud - edit the variable 'prefix'
  276.   if you want a different directory.
  277.  
  278.   Important: the Makefile must be save using the Unix lineend convention,
  279.   otherwise the make program will stop with an error. In the EPM editor
  280.   this can be achieved using the 'save -u' command.
  281.  
  282.   If you have the full GNU suite installed, you can also configure the
  283.   driver as under Unix. Following caveats regarding the configure script:
  284.    - the ac_exeext variable may not be set to '.exe' as it should be;
  285.    - the calls to the program conftest may lack the ${ac_exeext} extension.
  286.  
  287.   Additionally, configure does not properly recognize the settings for
  288.   HAVE_GETRUSAGE, GETRUSAGE_RESTRICTED, GETRUSAGE_VIA_SYSCALL and RUSAGE_USEC.
  289.   Copy these values from the provided machine.h
  290.  
  291.   To recreate the configure script from configure.in, you need autoconf
  292.   version 2.50 or newer.
  293.  
  294.